home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / cli / nvtools.lha / GetNV.mod < prev    next >
Text File  |  1995-09-30  |  935b  |  59 lines

  1. MODULE GetNV;
  2. (*
  3.   $StackChk-
  4.   $RangeChk-
  5.   $NilChk-
  6.   $OvflChk-
  7.   $ReturnChk-
  8.   $CaseChk-
  9. *)
  10.  
  11. IMPORT
  12.   y := SYSTEM,
  13.  
  14.   (* Interfaces *)
  15.   d := Dos,
  16.   e := Exec,
  17.   nv := NonVolatile,
  18.  
  19.   str := Strings;
  20.  
  21. CONST
  22.   template = "AN=APPNAME/A,IN=ITEMNAME/A,KR=KILLREQUESTER/S"
  23.              "\o$VER: GetNV.mod 1.0 (30.09.95)";
  24.  
  25. TYPE
  26.   Args = STRUCT (as :d.ArgsStruct)
  27.     appName  :d.ArgString;
  28.     itemName :d.ArgString;
  29.     killReq  :d.ArgBool;
  30.   END;
  31.  
  32. VAR
  33.   args      :d.RDArgsPtr;
  34.   argv      :Args;
  35.  
  36.   data      :nv.DataPtr;
  37.  
  38. BEGIN
  39.   IF nv.base=NIL THEN
  40.     d.PrintF("No nonvolatile.library!\n");
  41.     HALT(20);
  42.   END;
  43.  
  44.   args := d.ReadArgs(template, argv, NIL);
  45.   IF args=NIL THEN
  46.     IF d.PrintFault(d.IoErr(), "GetNV") THEN END;
  47.     HALT(20);
  48.   END;
  49.  
  50.   data := nv.GetCopyNV(argv.appName^, argv.itemName^, argv.killReq);
  51.   IF data#NIL THEN
  52.     d.PrintF("%s\n", data);
  53.   END;
  54.  
  55. CLOSE
  56.   d.FreeArgs(args);
  57.   nv.FreeNVData(data);
  58. END GetNV.
  59.